using System.ComponentModel.DataAnnotations;

namespace SmartHealthcare.Read.Api.DTo
{
    /// <summary>
    /// 药物搜索结果DTO
    /// </summary>
    public class MedicineSearchDto
    {
        /// <summary>
        /// 药物ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 药物名称
        /// </summary>
        public string MedicineName { get; set; } = string.Empty;

        /// <summary>
        /// 药物编码（映射自Barcode字段）
        /// </summary>
        public string MedicineCode { get; set; } = string.Empty;

        /// <summary>
        /// 药物规格
        /// </summary>
        public string Specification { get; set; } = string.Empty;

        /// <summary>
        /// 药物类型（映射自DrugType字段）
        /// </summary>
        public string MedicineType { get; set; } = string.Empty;

        /// <summary>
        /// 生产厂家
        /// </summary>
        public string Manufacturer { get; set; } = string.Empty;

        /// <summary>
        /// 单价（映射自Price字段）
        /// </summary>
        public decimal UnitPrice { get; set; }

        /// <summary>
        /// 库存数量（映射自Inventory字段）
        /// </summary>
        public int StockQuantity { get; set; }

        /// <summary>
        /// 药物条码
        /// </summary>
        public string Barcode { get; set; } = string.Empty;

        /// <summary>
        /// 生产批号
        /// </summary>
        public string BatchNumber { get; set; } = string.Empty;

        /// <summary>
        /// 有效期（映射自EffectiveDate字段）
        /// </summary>
        public DateTime? ExpiryDate { get; set; }

        /// <summary>
        /// 药物描述（映射自Effect字段）
        /// </summary>
        public string Description { get; set; } = string.Empty;

        /// <summary>
        /// 适应症（映射自Effect字段）
        /// </summary>
        public string Indications { get; set; } = string.Empty;

        /// <summary>
        /// 用法用量
        /// </summary>
        public string Usage { get; set; } = string.Empty;

        /// <summary>
        /// 注意事项
        /// </summary>
        public string Precautions { get; set; } = string.Empty;

        /// <summary>
        /// 禁忌症
        /// </summary>
        public string Contraindications { get; set; } = string.Empty;

        /// <summary>
        /// 不良反应
        /// </summary>
        public string SideEffects { get; set; } = string.Empty;

        /// <summary>
        /// 药物状态（0:停用 1:正常，映射自IsDeleted字段）
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdateTime { get; set; }
    }
} 